package cn.baiweigang.uu.db.dataobj;

import cn.baiweigang.uu.enums.StrategyEnum;
import cn.baiweigang.uu.utils.StringUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;

@Data
public class StockInfoDo extends BaseDo {
    private String dm;//代码
    private String mc;//名称
    private String jys;//交易所
    private String ds;//更新日期

    //
    private Double o;//开盘价
    private Double h;//最高价
    private Double l;//最低价
    private Double c;//收盘价
    private Long v;//成交量
    private Double e;//成交额
    private Double zf;//振幅 %
    private Double hs;//换手率 %
    private Double zd;//涨跌幅 %
    private Double zde;//涨跌额

    private StrategyEnum cl;//选股策略

    private int pm;//东方财富股吧排名
    private String strategy;//策略相关值  只stock_history_day_info表涉及
    private String ext;//JSON 字符串格式 存储DB

    private JSONObject extJson;//JSON格式

    public String getExtByKey(String key) {
        if (extJson == null) {
            if (StringUtil.isNotBlank(ext) && ext.startsWith("{") && ext.endsWith("}")) {
                extJson = JSONObject.parseObject(ext);
            }
        }
        if (extJson != null) {
            return extJson.getString(key);
        }
        return null;
    }

    public void addExt(String key, String value) {
        if (extJson == null) {
            if (StringUtil.isNotBlank(ext) && ext.startsWith("{") && ext.endsWith("}")) {
                extJson = JSONObject.parseObject(ext);
            } else {
                extJson = new JSONObject();
            }
        }

        extJson.put(key, value);
        this.ext = extJson.toJSONString();
    }

}
